package cc.jq1024.types.common;

public class Constants {

    public final static String SPLIT = ",";
    public final static String COLON = ":";
    public final static String SPACE = " ";
    public final static String UNDERLINE = "_";


    public static class RedisKey {

        /** 抽奖活动key */
        public static String ACTIVITY_KEY = "big_market_activity_key_";
        /** 活动sku的key */
        public static String ACTIVITY_SKU_KEY = "big_market_activity_sku_key_";
        /** 活动次数配置的key */
        public static String ACTIVITY_COUNT_KEY = "big_market_activity_count_key_";

        /** 策略实体的 key */
        public static String STRATEGY_KEY = "big_market_strategy_key_";
        /** 策略规则实体的 key */
        public static String STRATEGY_RULE_KEY = "big_market_strategy_rule_key_";
        /** 策略奖品 key */
        public static final String STRATEGY_AWARD_KEY = "big_market_strategy_award_key_";
        /** 策略奖品列表 key */
        public static final String STRATEGY_AWARD_LIST_KEY = "big_market_strategy_award_list_key_";
        /** 策略抽奖范围值(如10000,用于生成10000以内的随机数) key */
        public static final String STRATEGY_RATE_TABLE_KEY = "big_market_strategy_rate_table_key_";
        /** 策略概率查找表 key */
        public static final String STRATEGY_RATE_RANGE_KEY = "big_market_strategy_rate_range_key_";
        /** 规则树 key */
        public static final String RULE_TREE_VO_KEY = "rule_tree_vo_key_";
        /** 奖品库存 key */
        public static final String STRATEGY_AWARD_COUNT_KEY = "strategy_award_count_key_";
        /** 已消费的奖品延迟队列 key */
        public static final String STRATEGY_AWARD_COUNT_QUEUE_KEY = "strategy_award_count_queue_key";

        /** sku 延迟队列 */
        public static final String ACTIVITY_SKU_COUNT_QUERY_KEY = "activity_sku_count_query_key";
        /** sku 库存 key */
        public static final String ACTIVITY_SKU_STOCK_COUNT_KEY = "activity_sku_stock_count_key_";
        /** 权重规则 key */
        public static final String STRATEGY_RULE_WEIGHT_KEY = "strategy_rule_weight_key_";

        /** 奖品配置key */
        public static final String AWARD_CONFIG_KEY = "award_config_key_";
        /** 数据库奖品Key的 redis key */
        public static final String AWARD_KEY = "award_key_";

        /** 活动次数锁 */
        public static final String ACTIVITY_ACCOUNT_LOCK = "activity_account_lock_";
        public static final String ACTIVITY_ACCOUNT_UPDATE_LOCK = "activity_account_update_lock_";
        /** 用户积分账户锁 */
        public static final String USER_CREDIT_ACCOUNT_LOCK = "user_credit_account_lock_";

        /** 分布式限流黑名单 */
        public static final String RATE_LIMITER_BLACK_LIST_KEY = "big_market_rate_limiter_black_list_key_";
        /** 频率控制 */
        public static final String RATE_LIMITER_PER_SECONDS = "big_market_rate_limiter_per_seconds_key_";
    }
}
